// 通过defineStore可以定义小仓库(模块),该函数接受两个参数,第一个参数是模块的标识,第二个参数是配置对象
import {defineStore} from "pinia";
import {ref} from "vue";
import store from './index.js'

const useTodosStore = defineStore("todos", () => {
    // 响应式的ref,reactive----->state
    let locale = ref("zh-cn");
    // 定义的方法相当于------------>actions
    const changeLocale = function (num) {
        locale.value = num;
    }
    return {
        locale,
        changeLocale,
    }
})
export default useTodosStore;

/**
 * 用于在组件外部（如在Pinia Store 中）使用 Pinia 提供的 store 实例。
 * 官方文档解释了如何在组件外部使用 Pinia Store：
 * https://pinia.vuejs.org/core-concepts/outside-component-usage.html#using-a-store-outside-of-a-component
 */
export function useTodosStoreHook() {
    return useTodosStore(store);
}